package com.yuchen.advsdk.weight;

import android.app.Activity;
import android.content.Context;
import android.widget.ImageView;

import com.youth.banner.loader.ImageLoader;
import com.yuchen.advsdk.util.GlideUtil;

/**
 * Created by lny on 2017/11/25.
 */

public class BannerImageLoader extends ImageLoader {
    private int placeHolderId ;
    private int width;
    private int height;

    public BannerImageLoader() {
    }

    public BannerImageLoader(int placeHolderId, int width, int height) {
        this.placeHolderId = placeHolderId;
        this.width = width;
        this.height = height;
    }

    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        /**
         注意：
         1.图片加载器由自己选择，这里不限制，只是提供几种使用方法
         2.返回的图片路径为Object类型，由于不能确定你到底使用的那种图片加载器，
         传输的到的是什么格式，那么这种就使用Object接收和返回，你只需要强转成你传输的类型就行，
         切记不要胡乱强转！
         */

        //Glide 加载图片简单用法
//        Glide.with(context).load(path).into(imageView);

        //Picasso 加载图片简单用法

        if (context!= null && context instanceof Activity){
            Activity activity =(Activity) context;
            if (activity.isDestroyed()){
                return;
            }
        }

        if (path instanceof Integer){
            int resId = (int) path;
            imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
//            Picasso.with(context).load(resId).placeholder(placeHolderId).resize(width,height).centerCrop().into(imageView);
            GlideUtil.fitCenterTransform(context,imageView,
//                    width,height,
                    path
//                    placeHolderId,placeHolderId
            );
        }else if (path instanceof String){
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            if (path.toString().startsWith("http://")){
//                Picasso.with(context).load(path.toString()).placeholder(placeHolderId).resize(width,height).centerCrop().into(imageView);
                GlideUtil.centerInsideTransform(context,imageView,
//                        width,height,
                        path
//                        ,placeHolderId,placeHolderId
                );
            }else{
//                Picasso.with(context).load(new File(path.toString())).placeholder(placeHolderId).resize(width,height).centerCrop().into(imageView);
                GlideUtil.centerInsideTransform(context,imageView,
//                        width,height,
                        path
//                        ,placeHolderId,placeHolderId
                );
            }
        }

        //用fresco加载图片简单用法，记得要写下面的createImageView方法
//        Uri uri = Uri.parse((String) path);
//        imageView.setImageURI(uri);
    }

    //提供createImageView 方法，如果不用可以不重写这个方法，主要是方便自定义ImageView的创建
//    @Override
//    public ImageView createImageView(Context context) {
//        //使用fresco，需要创建它提供的ImageView，当然你也可以用自己自定义的具有图片加载功能的ImageView
//        SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
//        return simpleDraweeView;
//    }

}
